package cn.stronglink.asset.module.dam.utils.dataJsonUtils.realtime.send;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import cn.stronglink.asset.model.SensorSetting;
import cn.stronglink.asset.module.dam.entity.message.MsgRealTimeDatas;
import cn.stronglink.asset.module.dam.utils.dataJsonUtils.realtime.receive.ListContainerUtil;
import cn.stronglink.asset.module.dam.utils.dataJsonUtils.req.send.TestCmdFormatUtil;
import cn.stronglink.asset.module.dam.utils.factorys.common.FactoryUpdateSingleWidget;

public class Send6WidgetMsgUtil {

	/**
	 * 前6个温湿度控件指令 --> 封装数据
	 */
	public static Map<Integer,String> get6WidgetCommand(ListContainerUtil sensorGroup) {

		// 收集6个传感器位置：所有数据
		Map<Integer,String> params=new HashMap<Integer,String>();
		Object[] arrs = sensorGroup.getSensorPositions();
		System.out.println("数组大小===>" + arrs.length);

		for (int i = 0; i < arrs.length; i++) {
			List<SensorSetting> p = (List<SensorSetting>) arrs[i];
			System.out.println("元素   " + i + "的大小==" + p.size());
			if (p.size() == 0)
				continue;

			boolean flag = (p.size() > 1 ? true : false);// 判断此处 是否多个传感器
			int count = 0;// 计算传感器个数--若不是最后一个就不加/

			// 拼接单个位置---所有数据
			StringBuilder singleCommand = new StringBuilder();
			for (SensorSetting sen : p) {
				int data = sen.getSensorDatas();
				
				if (data <= 0) {
					singleCommand.append("暂无连接");
					break;
				} else {

					singleCommand.append(data);
					System.out.println("元素   " + i + "温湿度数据：==" + sen.getSensorDatas());

					int type = sen.getSensorType();
					if (type == 1) {
						singleCommand.append("℃"); // ("°C");
					} else if (type == 2) {
						singleCommand.append("rh");
					}

					count++;
					if (flag) {
						singleCommand.append("/");
						flag = (p.size() - count - 1 > 1 ? true : false);
					}
				}
			} // list 循环end

			//拼出拼接单个位置指令 键值对： map 包装数据-->提供批量更新使用
			params.put(p.get(0).getSensorPosition(), singleCommand.toString());
			
		} // list数组 循环end

		return params;
	}

}
